package xyz.kongbai121.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.CacheNamespace;
import org.springframework.stereotype.Repository;
import xyz.kongbai121.demo.domain.Comment;
import xyz.kongbai121.demo.util.MybatisRedisCache;

import java.util.List;


/**
 * 文章评论 Mapper
 * @author 空白
 */
@Repository
@CacheNamespace(implementation= MybatisRedisCache.class,eviction= MybatisRedisCache.class)
public interface CommentMapper extends BaseMapper<Comment> {

    /**
     * 获取对应文章的所有评论
     * @param articleId
     * @return
     */
    List<Comment> list(Long articleId);

    /**
     * 获取用户收到的评论
     * @param authorOpenid    当前用户唯一标识
     * @return
     */
    List<Comment> commentListByUser(String authorOpenid);

    /**
     * 标记已读
     * @param authorOpenid    当前用户唯一标识
     */
    void hasRead(String authorOpenid);

    /**
     * 查询是否有父评论
     * @param commentId     父评论id
     * @return
     */
    int hasComment(Long commentId);
}
